package com.genfu.reform.service;

import java.util.List;
import java.util.Map;

public interface GenfuCommonService {

	public <T> List<T> findAll();

	public <T> List<T> findAll(Map<String, Object> mapCondition);

	public <T> List<T> searchList(String jpql, Map<String, Object> parameters,
			Class<T> entity);

	public <T> List<T> searchList(Class<T> entity, Map<String, String[]> arg0);

	public int save(Object object);

	public int remove(long id, String tableName);

	public int remove(Object object);

	public <T> Object remove(List<T> list);

	public int update(Object object);

	public <T> Object update(List<T> list);

	public Object find(long id);

	public <T> Object find(Long id, Class<T> entity);

	public <T> Object findModel(Long id, Class<T> entity);

	public <T> int getTotalRecords(String jpql, Map<String, Object> parameters,
			Class<T> entity);

	public <T> Map<String, Object> fabricationSQL(Class<T> entity,
			Map<String, String[]> arg0);

	public int batchDelete(String className, String strSQL);

	public int batchDeleteJPQL(String className, String strSQL);

	public boolean verifyingOperates(Map<String, String[]> arg0,
			Map<String, Object> session);
}
